JavaScript Promise Integration API
WebAssemblyに非同期処理を返す実験的実装
https://github.com/WebAssembly/js-promise-integration
https://v8.dev/blog/jspi
https://github.com/WebAssembly/js-promise-integration/blob/main/proposals/js-promise-integration/Overview.md
実装状況
chrome: chrome://flags/#enable-experimental-webassembly-jspi
firefox: javascript.options.wasm_js_promise_integration
safari: not supported
Deno: --v8-flags=--experimental-wasm-jspi
JS以外のruntimeでは使えない
使い方
importしたい非同期函数を、new WebAssembly.Suspending()でwrapしてWebAssembly.importObjectsにいれる
exportした函数を非同期に呼び出すときは、WebAssembly.promising()を通してasync functionを得る
https://zenn.dev/mizchi/scraps/cf710ccf0f890e
おそらく現行のAsyncifyに代わるものとして仕様策定が進められている
https://blog.pyodide.org/posts/jspi/
stage 4になった
#JSPI
#2025-09-27 18:10:45
#2024-08-18 15:46:46
#2024-08-09 12:32:01